﻿var activeIntput;
var isCreate = document.location.href.indexOf('create') > -1 || document.location.href.indexOf('clone') > -1;

$(function() {
    $('#choosenotarialaction').autocomplete(base + 'order.ivp/findnotarialactions').result(_notarialActionSelected);

    if ($('#readonly').length > 0) {
        $('input:not(.btn, .modal),textarea:not(#comment)').attr('disabled', true).addClass('disabled');
        $('select').attr('disabled', true).addClass('disabled');
    }
    else {
        changeIsInternalAttribute($('#isinternal').attr('checked'));
        changeIsNotOnForm($('#isnotonform').attr('checked'));     
        changeIsNotForRegistrationAttribute($('#isnotforregistration').attr('checked'));
        checkCashlessClients();
    }
    changeIsNotOnForm($('#m_isnotonform').attr('checked'), true);
    $('textarea.autogrow').elastic();

    //инициалиализация календаря jQuery
    if ($('#calendarholder') && $('#deadline'))
        $('#deadline').calendar({
            parentElement: '#calendarholder',
            dateFormat: '%d.%m.%Y'
        });

    //реакция на выбор даты в календаре
    $('.calendar tr.days td').click(function() { $('#calendarholder').hide(); });
    $('#deadline').change(function() { $('#deadlinelink').html($.parseDate($('#deadline').val()).getDate() == (new Date()).getDate() ? 'Сегодня' : $('#deadline').val()); });

    //реакция на изменения чек-бокса "внутренний документ"
    $('#isinternal').click(function() { changeIsInternalAttribute($(this).attr('checked')); });

    //реакция на изменения чек-бокса "сделать, но не регистрировать"
    $('#isnotforregistration').click(function() { changeIsNotForRegistrationAttribute($(this).attr('checked')); });

    $('#isnotonform').click(function() { changeIsNotOnForm($(this).attr('checked')); });

    $('#m_isnotonform').click(function() { changeIsNotOnForm($(this).attr('checked'), true); });

    //сразу открываем инпуты добавления заявителей и поверенных при создании
    if (isCreate) {
        addUser('clients');
        addUser('responsibles');
    }

	if (isCreate)
		$('#choosenotarialaction').focus();
	else
		//фокусим поле комментариев
		$('#comment').focus();

    //если заявка была сохранена после создания, вызовем печать квитанции
    if ($('#ordercreated').length > 0)
        print(parseInt($('#ordercreated').val()), 2);
		
	$("form:first").submit(function() {		
		return (isCreate) ? checkClientNotifications(true) : true;		
    });	
});

/*---------user functions----------*/

function selectUser(obj) {
    var dlg = openDialog('client.ivp/select?reset=true', '', { width: 980, height: 580 });
    dlg.callback = function(id) { 
		userSelected(id
		, dlg.userNames['un' + id.toString()]
		, dlg.isCashless['un' + id.toString()]
		, obj
		, dlg.isNotify['un' + id.toString()]
		, dlg.notifycomment['un' + id.toString()]
		);
	}
    return false;
}

function _userSelected(e, d) {
    var name = d[3]; 
    var iscashless = d[2]
    var id = d[1];
    var searchinfo = d[0];
	var isnotify = d[4];
	var notifycomment = d[5];
    var obj = $(e.target);
    obj.val('');
    userSelected(id, name, (iscashless == 'True'), obj, (isnotify == 'True'), notifycomment);
}

function userSelected(id, name, iscashless, obj, isnotify, notifycomment) {

    if (!obj) obj = activeIntput;
    var input = $(obj);
    var li = input.parent();
    var select = li.parents('div:first').parent().find('select:first');
	var notifycomment = ((notifycomment && notifycomment.length > 0) ? notifycomment : 'без текста');

    //если такой товарищ уже добален - завязываем с этой идеей
    if ($('option[value="' + id + '"]', select).length > 0) return;
    //иначе записываем его в скрытый select
    select.append('<option selected value="' + id + '" iscashless="' + iscashless + '" isnotify="'+ isnotify +'" notifycomment="'+notifycomment+'">' + name + '</option>');
    input.remove();

    //формируем html
    var html = '<a title="'+ (
		(isnotify) 
			? 'Уведомление: ' + notifycomment
			: '' 
		) 
		+' " href="#" onClick="return showUser(\'' + id + '\');">' + jQuery.trim(name) + '</a>'
        + '<span class="hover"><a href="#"><img src="img/trash.gif" /></a></span>';

    li.html(html);

    li.parent().find('.empty').hide();

    //обработка события удаление из списка
    $('span.hover a', li).click(function() { var a = $(this); a.parents('li.changed').remove(); $('option[value="' + id + '"]', select).remove(); checkCashlessClients(); return false; })

    checkCashlessClients();
	
	if (isnotify)
		notifyAboutClient(notifycomment, name);
	
    return false;
}

function addUser(type) {
    //если уже есть input для добавления - не будем добавлять новый
    if ($('#add'+type+' #'+type+'input').length > 0) return false;

    var wrapper = $('#add' + type);
    var ul = wrapper.find('ul:first');

    var html = '<li class="changed"><input id="' + type + 'input" class="px200 ac_input" size="50"/>'
        + '<a class="noul indent5" href="#" onclick="return selectUser(this)">'
        + '  <img class="top" src="img/buttons/browsedialog.gif" title="Выбрать из справочника" alt="Выбрать из справочника" />'
        + '</a>'
        + '<a class="noul indent5" href="#" onclick="return createUser(this);">'
        + '  <img class="top" src="img/buttons/add_small.gif" title="Добавить новую запись" alt="Добавить новую запись" />'
        + '</a>'
        + '</li>';

    ul.append(html);

    $('li:last input', ul).autocomplete(base + 'order.ivp/findclients').result(_userSelected);
    return false;
}

function showUser(id) {
    openDialog('client.ivp/view/' + id + '?popup=true', '', { width: 750, height: 580 });
    return false;
}

function createUser(obj) {
    var input = $(obj).parent().find('input:first');
    activeIntput = input;
    var dlg = openDialog('person.ivp/create?opener=order&isexternal=true&popup=true&possiblename=' + encodeURIComponent(input.val()), '', { width: 800, height: 670 });
    dlg.callback = function(id, name, iscashless) { userSelected(id, name, iscashless, input, false, ''); }
    return false;
}

function removeUser(a, id) {
    var a = $(a);
    var del = !a.parents('li:first').hasClass('archive');
    $('select option[value="' + id + '"]', a.parents('div:first')).attr('selected', !del);
    if (del) { a.parents('li:first').addClass('archive changed'); } else a.parents('li:first').removeClass('archive changed');
    checkCashlessClients();
    return false; 
}

function checkCashlessClients() {
    var result = false;
    $('#clientids option').each(function() { if ($(this).attr('selected') && $(this).attr('iscashless') == 'true') { result = true; return; } });

    $('#iscashless').attr('disabled', !result);
    $('#m_iscashless').attr('disabled', !result);


    if (!result || isCreate) 
        $('#iscashless').attr('checked', result);
    
    return result;
}

function setDecisionMessage(clients) {
	var text = 'Введите принятое решение в отношении ';
	$(clients).each(function(i) { if (i != 0) text += ','; text += ' '+$.trim(clients[i].name); });
	$('#decisionmessage').text(text);
	return false;
}

function checkClientNotifications(saveonly, statusId, checkstatus, checkispaid, returnaftersave) {
	if ($('form:first').validate().form()) {
		var clients = getClientsWithNotification();
		if (clients.length > 0 && $.trim($('#decisionaboutclient').val()).length < 1)
		{
			setDecisionMessage(clients); 
		
			$('#acceptDecision').click(function() {
				var decision = $.trim($('#m_decisionaboutclient').val());
				if (decision.length > 0)	
				{
					$('#decisionaboutclient').val(decision);
					if (!saveonly)		
					{
						changeStatus(statusId, checkstatus, checkispaid, returnaftersave); 
						return false;
					}
					else
						$('.save').trigger('click');					
					return true;
				}
				else {
					alert('Введите принятое решение.');
					return false;
				}
			});
			
			$('#refuseDecision').click(function() {
				$.unblockUI();
				return false;
			});
					
			$.blockUI({ message: $('#decisioncheckmodal'), css: { width: '300px'} });
					
			return false;
		}
	}
	return true;
}

function getClientsWithNotification() {
	var clients = new Array();
	$('#clientids option').each(function() { 
		if ($(this).attr('selected') && $(this).attr('isnotify') == 'true') { 
			clients.push({notifycomment: $(this).attr('notifycomment'), name: $(this).text()}); 
		} 
	});
	return clients;
}

function notifyAboutClient(message, name) {
	//var message = 'Клиент: ' + name + '\r\n' + 'Уведомление: ' + ((message.length > 0) ? message : 'без текста');
	var message = 'Уведомление: ' + ((message.length > 0) ? message : 'без текста');
	alert(message);
	//showNotification(message);
	return false;
}

function showNotification(message) {	
	$.jnotifica(message,{
		position: 'bottom',
		background: 'navy',
		msgCss: {
			textAlign: 'center',
			fontSize: '12pt'
		},	
		timeout: 0
	});
	return false;
}

/*---------task functions----------*/

function showTask(id) {
    openDialog('task.ivp/view/' + id + '?popup=true&readonly=true', '', { width: 750, height: 580 });
    return false;
}

function getTaskData() {
    if ($('form:first').validate().element("#taskidinput")) {
        var id = $('#taskidinput').val();
        var isOk = true;

        //проверим существуют ли заявки по такой заявке на прием
        $.getJSON('order.ivp/checktask/' + id, { timestamp: new Date() }, function(result) {
            if (result.hasOwnProperty('IsOK') && result.IsOK == true) {
                if (result.Description.length > 0)
                    isOk = confirm(result.Description);
            }
            else {
                isOk = false;
                alert(result.Description);
            }
            if (isOk) loadTaskData(id);
        });        
    }
    return false;
}

function loadTaskData(id) {
    $.getJSON('order.ivp/loadtaskdata/' + id, { timestamp: new Date() }, function(result) {
        if (result.hasOwnProperty('IsOK') && result.IsOK == true) {
            var delimeter = '|<d>|';
            var r = result.Result.split(delimeter);
            notarialActionSelected(r[0], { name: r[1], iscomplicated: r[2] });
            $('#comment').val(r[3]);
            //привяжем клиентов
            var client = r[4].split(',');
			var notify = r[5].split(',');
            var type = 'clients';
            if ($('#' + type + 'input').length < 1)
                addUser(type);
				
            userSelected(client[0], client[1], false, $('#' + type + 'input'), notify[0] == 'True', notify[1]);
            $('#taskid').val(id);
            alert('Данные успешно загружены');
        }
        else {
            alert(result.Description);
        }
    });
    return false;
}

/*------------notarial action functions--------------------*/

function _notarialActionSelected(e, d) {
    var name = d[0];
    var id = d[1];
    var iscomplicated = d[2];
    $(e.target).val('');
    notarialActionSelected(id, { name: name, iscomplicated: iscomplicated });
}

function notarialActionSelected(id, parameters) {
    $('#notarialactionname').html(parameters.name);
    $('#changenotarialaction').hide();
    $('#linkchangenotarialaction').show();
    $('#notarialactionid').val(id);
    $('#iscomplicated').attr('checked', parameters.iscomplicated == 'True');
	reloadTemplateList(id, $('#id').val());
    return false;
}

function selectNotarialAction() {
    var dlg = openDialog('notarialaction.ivp/select?reset=true');
    dlg.callback = function(id) { notarialActionSelected(id, dlg.notarialActionParams['n' + id.toString()]); }
    return false;
}

function changeNotarialAction(obj) {
    $('#changenotarialaction').show();
    $(obj).hide();
    return false;
}

/*---------change rows functions----------*/

function changeIsPaidAttribute(obj, orderid) {
    var obj = $(obj);
    var ispaidhidden = obj.prev();
    var ispaidtext = obj.parent().prev();
    var ispaid = (ispaidhidden.val() != 'False');

    $.getJSON("order.ivp/ChangeIsPaidAttribute/", { timestamp: new Date(), ispaid: ispaid, orderid: orderid }, function(result) {
        if (result.hasOwnProperty('IsOK') && result.IsOK == true) {
            ispaidhidden.val(ispaid ? 'False' : 'True');
            ispaidtext.addClass('changed');
            var text = ispaid ? 'Не оплачено' : 'Оплачено';
            ispaidtext.html(text);
            reloadHistory(orderid)
        }
        else {
            if (result.Result.length > 0 && (result.Result == 'True' || result.Result == 'False')) {
                ispaidhidden.val(result.Result);
                var text = (result.Result == 'True') ? 'Оплачено' : 'Не оплачено';
                ispaidtext.html(text);               
            }
            alert('Операция изменения оплаты не выполнена.' + '\r\n' + result.Description);
        }
    });
    return false;
}

function changeIsNotForRegistrationAttribute(checked) {
    if (checked)
        $('#notarialregisterid, #notarialregisterrow').val('');
    $('#notarialregisterid, #notarialregisterrow').attr('disabled', checked);
}

function changeIsInternalAttribute(checked) {
    var wrapper = $('.costwrapper');

    wrapper.find('input').attr('disabled', checked);

    if (checked) {
        wrapper.find('#tax, #copyprice, #docprice').val('0');
        wrapper.find('input:checked').attr('checked', false);
        wrapper.find('#result').html('0');
    }
}

function changeMark(changeBtn) {
    var changeBtn = $(changeBtn);
    var saveBtn = changeBtn.next();
    var mark = changeBtn.prev();

    mark.attr('disabled', false);
    mark.removeClass('disabled');
    changeBtn.hide();
    saveBtn.show();  
        
    return false;
}

function saveMark(saveBtn) {

    var saveBtn = $(saveBtn);
    var changeBtn = saveBtn.prev();
    var mark = changeBtn.prev();
    
    $.post("order.ivp/SaveMark/", { timestamp: new Date(), orderid: $('#id').val(), mark: mark.find('option:selected').val() }
        , function() {
            saveBtn.hide();
            changeBtn.show();
            mark.attr('disabled', true);
            mark.addClass('disabled');
        });

    return false;
}

/*---------other functions----------*/

function calculateCost() {
    var wrapper = $('.costwrapper');
    var arr = wrapper.find('#tax, #copyprice, #docprice');
    var result = 0;
    var buf;
    
    for (var i = 0; i <= arr.length; i++) {
        buf = parseFloat($(arr[i]).val());
        if (buf > 0)
            result += buf;
    }
    wrapper.find('#result').html(result);
}

function m_calculateCost() {
    var wrapper = $('#paycheckmodal');
    var arr = wrapper.find('#m_tax, #m_copyprice, #m_docprice');
    var result = 0;
    var buf;

    for (var i = 0; i <= arr.length; i++) {
        buf = parseFloat($(arr[i]).val());
        if (buf > 0)
            result += buf;
    }
    
    wrapper.find('#m_result').html(result);
}

function toggleCalendar() {
    var offset = $('#deadlinelink').offset();
    $('#calendarholder').css('top', offset.top - 210);
    $('#calendarholder').toggle();
    return false;
}

function switchHistory(obj) {
    var obj = $(obj);
    if (obj.html().indexOf('Скрыть историю изменений') > 0) {
        obj.html('&darr; Вся история изменений');
        $('.item').addClass('hidden');
        $('.first').removeClass('hidden');
    }
    else {
        obj.html('&uarr; Скрыть историю изменений');
        $('.item').removeClass('hidden');
        $('.first').addClass('hidden');
    }
    return false;
}

/*----------action functions----------------*/

function unlockOrder(orderid, userid) {
    $.post("order.ivp/UnlockOrder/", { timestamp: new Date(), orderid: orderid, userid: userid }, function() { closeForm(); });
}

function edit(id) {
    document.location.href = base + 'order.ivp/edit/' + id;
}

function clone(id) {
    document.location.href = base + 'order.ivp/clone/' + id;
}

function print(id, type) {
    var dlg = openDialog('order.ivp/view/' + id + '?print=true&type='+type, 'Печать', { width: 1060, height: 700 });
    return false;
}

function addComment(orderid) {
    var comment = $.trim($('#comment').val());
    if (comment.length > 0)
        $.post("order.ivp/AddComment/", { timestamp: new Date(), orderid: orderid, comment: comment }, function() { $('#comment').val(''); reloadHistory(orderid); });
    return false;
}

function reloadHistory(orderid) {
    $('#historyholder').load(base + 'order.ivp/GetTaskHistory/', { nolayout: 'true', timestamp: new Date(), orderid: orderid }); 
    return false;
}

function changeStatus(statusId, checkstatus, checkispaid, returnaftersave) {
    var comment = $.trim($('#comment').val());
    if (checkstatus == 'True' && comment.length < 1) {
        alert('Поле \'Комментарий\' не может быть пустым');
        return false;
    }
    if ($('form:first').validate().form()) {
	
		//if (!checkClientNotifications(false, statusId, checkstatus, checkispaid, returnaftersave)) return false;
	
        if (checkispaid == 'True' && (!$('#ispaid').attr('checked')) && (!$('#isinternal').attr('checked'))) {
            if ($('#iscangetmoney').val() == 'True')
                checkIsPaid(statusId);
            else
                alert('У Вас нет полномочия "Прием денег", Вы не можете выдавать неоплаченные документы.');
            return false;
        }
		
        $('#statusid').val(statusId);
        $('#returnaftersave').val(returnaftersave);
    }
    return true;
}

function changeStatusReadOnly(orderid, statusid, oldstatusid, checkstatus, checkispaid, returnaftersave) {
    var comment = $.trim($('#comment').val());
    if (checkstatus == 'True' && comment.length < 1) {     
        alert('Поле \'Комментарий\' не может быть пустым');
        return false;
    }
    if (checkispaid == 'True' && $('#ispaidtext').html().indexOf('Оплачено') < 0 && (!$('#isinternal').attr('checked'))) {
        if ($('#iscangetmoney').val() == 'True')
            checkIsPaidReadOnly(orderid, statusid, oldstatusid, comment);
        else
            alert('У Вас нет полномочия "Прием денег", Вы не можете выдавать неоплаченные документы.');
        return false;
    }      
    var url = base + 'order.ivp/changestatus/' + orderid + '/' + statusid + '/' + oldstatusid + '/' + comment + '?returnaftersave='+returnaftersave;
    document.location.href = url;
    return false;
}

function changeIsNotOnForm(checked, ismodal) {
	var prefix = (ismodal) ? 'm_' : '';
	if (checked) {
		$('a#'+prefix+'addformnumber').parent().removeClass('required');
		$('a#'+prefix+'addformnumber').hide();
		$('a.nfinvalidlink').trigger('click');
		$('input#'+prefix+'formnumberids').val('');
		$('div.newformnumber').remove();
	}
	else {
		$('a#'+prefix+'addformnumber').parent().addClass('required');
		$('a#'+prefix+'addformnumber').show();
	}
	return false;
}

function mapPaidAttributes() {
    $('#tax').val($('#m_tax').val());
    $('#copyprice').val($('#m_copyprice').val());
    $('#docprice').val($('#m_docprice').val());
    $('#iscashless').attr('checked', $('#m_iscashless').attr('checked'));
    $('#isprepayment').attr('checked', $('#m_isprepayment').attr('checked'));
    $('#isnotonform').attr('checked', $('#m_isnotonform').attr('checked'));
    return false;
}

function attachFile() {
    var n = $('#addfiles>div').length + 1;
    formchanged = true;
    $('#addfiles').append('<div class="changed padded5"><input size="40" type="file" id="file' + n + '" name="file' + n + '" /></div>');
    return false;
}

function attachUserVersionFile() {
    var n = $('#adduserversionfiles>div').length + 1;
    formchanged = true;
    $('#adduserversionfiles').append('<div class="changed padded5"><input size="40" type="file" id="userversionfile' + n + '" name="userversionfile' + n + '" /></div>');
    return false;
}

function removeFile(id, isFinal) {
    if (!confirm('Вы уверены, что хотите удалить файл?')) return false;
    
    $.getJSON('order.ivp/removefile/' + id, { date: new Date().toString() }, function(result) {
        if (result.hasOwnProperty('IsOK') && result.IsOK == true) {
			if (isFinal) {
				$('#resultfileholder').hide();
				$('#inputresultfileholder').show();
			}
			else
				$('#file' + result.Id).fadeOut('fast').remove();
		}
        else
            alert(result.Description);
    });
    return false;
}

function reloadTemplateList(notarialActionId, orderId) {
	$('#doctemplatelistholder').load(base + 'order.ivp/GetDocTemplateList/', { nolayout: 'true', timestamp: new Date(), notarialactionid: notarialActionId, orderid: orderId }); 
	return false;
}

function editDocTemplateBegin(fileId, orderId) {
	var nid = $('#activenotariusid').val();
	$.getJSON('order.ivp/EditDocTemplateBegin/' + fileId + '/' + orderId + '/' + nid, { date: new Date().toString() }
		, function(result) {
			if (result.hasOwnProperty('IsOK') && result.IsOK == true) {
				openWebDAVdocument(result.Id, result.Description);
			}
			else
				alert(result.Description);
	});
	
	return false;
}

function editDocTemplate(fileId, orderId) {
	var nid = $('#activenotariusid').val();
	$.getJSON('order.ivp/EditDocTemplate/' + fileId + '/' + orderId + '/' + nid, { date: new Date().toString() }
		, function(result) {
			if (result.hasOwnProperty('IsOK') && result.IsOK == true) {
				openWebDAVdocument(result.Id, result.Description);
			}
			else
				alert(result.Description);
	});
	
	return false;
}

function openWebDAVdocument(fileId, fileName) {	
	addNewDocTemplateName(fileId);
	//alert(fileId);
	var s = new ActiveXObject('SharePoint.OpenDocuments.2'); 
	var fRet = s.EditDocument('http://webdav/docs/'+fileName); 
	return false;
}

function addNewDocTemplateName(id) {
	$('select#newdoctemplates').append('<option selected value="' + id + '">' + id + '</option>');
	return false;
}

function makeInvalid(a, fid, ismodal) {	
	var prefix = (ismodal) ? 'm_' : '';
	var a = $(a);
	var isnotonform = $('#'+prefix+'isnotonform').attr('checked');
	var span = a.prev();
	var select = $('select#'+prefix+'nformsdeleted');
	
	if (isnotonform)
	{
		span.addClass('archive')		
		span.removeClass('active')
		span.addClass('changed');
	}
	else
	{
		var shouldGetMessage = !span.hasClass('archive');
		var message = $('#forminvalidmessage').val();
		
		if (shouldGetMessage && (message.length == 0))
		{
			if (ismodal) 
				checkInvalidFormMessageModal(a, fid);
			else
			{
				checkInvalidFormMessage(a, fid);			
				return false;
			}
		}
	
		span.toggleClass('archive')
		span.toggleClass('changed');
		span.toggleClass('active');
	}
	
	if (span.hasClass('archive'))
	{
		if (select.find('option[value="' + fid + '"]').length == 0)
			select.append('<option selected="selected" value="' + fid + '">' + fid + '</option>');
		if ($('div.newformnumber').length == 0)
			addnotarialformnumber(ismodal);
	}
	else
		$('option[value="' + fid + '"]', select).remove();
		
	return false;
}

function checkInvalidFormMessage(a, fid, ismodal) {
    $('#acceptinvalidformmessage').click(function() {
		var message = $.trim($('#m_invalidformmessage').val());
		if (message.length > 0)
		{
			$('#forminvalidmessage').val(message);
			makeInvalid(a, fid);			
		}
		else
		{
			alert('Комментарий не может быть пустым!');
			return false;
		}
				
		$.unblockUI();
        return false;
    });

    $('#refuseinvalidformmessage').click(function() {
        $.unblockUI();
        return false;
    });
	
	$.blockUI({ message: $('#invalidformcheckmodal'), css: { width: '300px'} });
	return false;
}

function checkInvalidFormMessageModal(a, fid) {	
	var message = $('#m_forminvalidmessage');
	$('.m_invalid_comment_holder').show();
	message.removeAttr('disabled');
	message.addClass('required');
	return false;
}

function makeInvalidNew(a, id) {
	$(a).parent().remove();
	$('input#'+id).parent().remove();
	return false;
}

function addnotarialformnumber(ismodal) {
	var prefix = (ismodal) ? 'm_' : '';
	if ($('#'+prefix+'isnotonform').attr('checked')) return false;
    var id = $('#'+prefix+'formnumberholder>div').length + 1;
	var n = 'fnbr' + id;
    formchanged = true;
    $('#'+prefix+'formnumberholder').append('<div class="field newformnumber"><span class="small">77АА</span><input class="formnumber px80" id="'+n+'" name="'+n+'" minlength="7" maxlength="7"></input></div><div class="clear"></div>');
	$('input#'+n+'.formnumber').autocomplete(base + 'order.ivp/findnotarialformnumber').result(function(e,d) {_notarialFormNumberSelected(e, d, n, ismodal);});
	$('#'+prefix+'formnumberids').val($('#'+prefix+'formnumberids').val() + ','+id);
    return false;
}

function _notarialFormNumberSelected(e, d, n, ismodal) {
	var prefix = (ismodal) ? 'm_' : '';
	var obj = $(e.target);
	obj.parent().hide();
	$('#'+prefix+'formnumberholder').append('<div class="field"><span class="small">'+d[2]+' </span><a class="noul nfinvalidlink" onclick="return makeInvalidNew(this,\''+n+'\');" href="#"><img title="Недействителен" src="img/trash.gif"></a></div><div class="clear"></div>'); 
	return false;
}

function checkIsPaid(statusId) {
    $('#accepPay').click(function() {
        if (parseInt($('#m_result').html()) > 0) {
            $.unblockUI();

            mapPaidAttributes();
			
            $('#ispaid').attr('checked', true);
						
            $('#statusid').val(statusId);
            $('#returnaftersave').val('');

            $('.save:first').trigger('click');
        }
        else
            alert('Итоговая сумма должна быть больше чем 0.');
        return false;
    });

    $('#refusePay').click(function() {
        $.unblockUI();
        return false;
    });

    $('#m_tax').val($('#tax').val());
    $('#m_copyprice').val($('#copyprice').val());
    $('#m_docprice').val($('#docprice').val());
    $('#m_iscashless').attr('checked', $('#iscashless').attr('checked'));
    $('#m_isprepayment').attr('checked', $('#isprepayment').attr('checked'));
    $.blockUI({ message: $('#paycheckmodal'), css: { width: '295px'} });
		       
    return false;    
}

function checkIsPaidReadOnly(orderid, statusid, oldstatusid, comment) {
    $('#accepPay').click(function() {
        if (!$('#m_isnotonform').attr('checked') 
			&& $('#m_formnumberholder').find('.newformnumber:not(:visible)').length == 0 
			&& $('#m_formnumberholder').find('span.active').length == 0) {
				alert('Введите номер бланка.');
				return false;
        }
		
		//проверим что введен комментарий по испорченным бланкам
		if ($('#m_nformsdeleted').find('option').length > 0 && jQuery.trim($('#m_forminvalidmessage').val()).length == 0) {
			alert('Введите комментарий по испорченному бланку.');
			return false;
        }
				
        if (parseInt($('#m_result').html()) > 0) {    
            $.unblockUI();
            
            mapPaidAttributes();

            $.post("order.ivp/SavePaidAttributes/", { timestamp: new Date()
				, orderid: $('#id').val()
				, tax: $('#m_tax').val()
				, copyprice: $('#m_copyprice').val()
				, docprice: $('#m_docprice').val()
				, iscashless: $('#m_iscashless').attr('checked')
				, isprepayment: $('#m_isprepayment').attr('checked')
				, isnotonform: $('#m_isnotonform').attr('checked')
				, formnumberids: getNewNotarialFormsIdsModal()
				, nformsdeleted: $('#m_nformsdeleted').val()
				, forminvalidmessage: $('#m_forminvalidmessage').val()
				, ispaid: true
				, ismodal: 'true'
            }, function() {
                var url = base + 'order.ivp/changestatus/' + orderid + '/' + statusid + '/' + oldstatusid + '/' + comment;
                document.location.href = url;                
            });
        }
        else
            alert('Итоговая сумма должна быть больше чем 0');
            
        return false;
    });

    $('#refusePay').click(function() {
        $.unblockUI();
        return false;
    });

    checkCashlessClients();
    $.blockUI({ message: $('#paycheckmodal'), css: { width: '295px'} });
    
    return false;
}

function getNewNotarialFormsIdsModal() {
	var result = '';
	$('#m_formnumberholder').find('.newformnumber:not(:visible) > input').each(function(i, e) { result += ',' + $(e).val();});
	return result;
}